//============================================================================
// Name        : Conc_Opdr1.cpp
// Author      : Nivard Koskamp en Pleun Willemsen
// Version     :
// Copyright   : Saxion - Informatica
// Description : Verkeersagent
//============================================================================

#include "Conc_Opdr1.h"
#include "Agent.h"
#include "Auto.h"

Condition agent;
Condition autosUitRichting[4];
Mutex kruising;
int aantalAutos[4];

int main() {

	//Richtingen waaruit de auto's gaan komen
	autosUitRichting[0].setName("Noord");
	autosUitRichting[1].setName("Oost");
	autosUitRichting[2].setName("Zuid");
	autosUitRichting[3].setName("West");

	aantalAutos[0] = 0;
	aantalAutos[1] = 0;
	aantalAutos[2] = 0;
	aantalAutos[3] = 0;

	//Start de wachtende Agent
	(new Agent(1))->start();

	//Maak 50 auto's aan met een 'random' richting
	for (int i = 1; i <= 50; i++) {
		int random = randint(0, 3);
		(new Auto(random, i))->start();
	}

	//Wacht even om alles af te drukken.
	Thread::msleep(10000);
	cout << "Klaar" << endl;
	return 0;
}
